package com.hsurosy.domain.strategy.service.rule.tree;

import com.hsurosy.domain.strategy.service.rule.tree.factory.DefaultTreeFactory;

import java.util.Date;

/**
 * @Author Hsu琛君珩
 * @Date 2024-10-19 15:23
 * @Description 规则树接口
 * @Version: v1.0.0
 */
public interface ILogicTreeNode {

    /**
     * 执行规则树节点的逻辑
     *
     * @param userId 用户ID
     * @param strategyId 策略ID
     * @param awardId 奖品ID
     * @param endDateTime 活动结束时间
     * @return 返回 `TreeActionEntity` 对象，包含处理结果（接管或放行）和奖品数据。
     */
    DefaultTreeFactory.TreeActionEntity logic(String userId, Long strategyId, Integer awardId, String ruleValue, Date endDateTime);

}
